# Импорт манифестов (imports)
Существует возможность описать всю архитектуру в одном файле. Но работа с ним имеет
ряд недостатков:
1. В объемном файле сложно контролировать вносимые изменения;
2. Устранение конфликтов усложняется, т.к. над одним файлом могут работать срезу несколько человек;
3. Обозримость описания архитектуры значительно ухудшается.

Рекомендуется использовать структуру файлов и папок для устранения этих недостатков. Например,
в отдельном файле развивать компоненты, документы, аспекты и т.д. Это позволяет сделать секция "import".
Файловая структура может быть такой:
```text
./docs/doc1.md                      - документ 1
./docs/doc2.pml                     - документ 2
./docs/root.yaml                    - манифест, подключающий документы doc1, doc2
./aspects.yaml                      - архитектурные аспекты
./contexts.yaml                     - контексты представления архитектуры
./components.yaml                   - архитектурные компоненты
./technologies.yaml                 - технологический стек
./root.yaml                         - корневой манифест, содержащий только секцию "import"
./namespaces.yaml                   - пространства имен (устарело)
```

В этом случае корневой манифест (root.yaml) будет выглядеть так:

```yaml
imports:
  - aspects.yaml
  - contexts.yaml
  - components.yaml
  - docs/root.yaml
  - technologies.yaml
  - namespaces.yaml   # устарело
```

В этом случае, манифест компонентов (components.yaml) может быть таким:
```yaml
components:
  ...
  namespace.component3:
    title: Services
    entity: component
    technologies:
      - Go
    presentations:
      - contexts:
          - namespace.general
  ...
```

Подключение дополнительных манифестов возможно из сторонних репозиториев **того же** инстанса GitLab,
а также с web-ресурсов по http/https протоколу. Например:

```yaml
imports:
  - https://dochub.info/documentation/root.yaml
  - gitlab:43847396:master@root.yaml
```


